package org.sky.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Auther: 赵明明
 * @Date: 2018/10/23 13:48
 * @Description:
 */
@FeignClient("platform") // 调用服务的名称
public interface FeignTestInInterface {


    /**
     * 之前得知：
     * 通过编写"翻译器"(Contract)，可以让Feign知道第三方注解的含义
     * 同样，SpringCloud也提供了翻译器，会将注解告诉Feign
     * 因此，接口可以直接使用该注解
     * 默认支持注解：@RequestMapping、@RequestParam、@RequestHeader、@PathVariable
     * 【注意】使用了SpringCloud的翻译器后，将不能再使用Feign的默认注解
     * 这里的注解 RequestLine、Param 是 Feign 的配置新的注解，详细请参考链接：https://github.com/OpenFeign/feign
     */

//    @RequestLine("GET /selectTrace/{code}")
    @RequestMapping(value = "selectTrace/{code}", method = RequestMethod.POST)
    Trace selectTrace(@PathVariable("code") String code);
}


/**
 * Feign声明式调用出现非法异常IllegalAccessError。无法完成
 */

